package com.zhuoyue.biz.core.api.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuoyue.biz.core.api.domain.GatewayDO;
import com.zhuoyue.biz.core.api.domain.InfraredDeviceDO;
import com.zhuoyue.biz.core.api.dto.rep.InfraredDeviceRepDTO;

import java.util.List;
import java.util.Map;

/**
 * @author wjming
 * @ClassName: InfraredDeviceService
 * @Description:
 * @Date 2021-07-14 20:17
 */
public interface InfraredDeviceService extends IService<InfraredDeviceDO> {


    /**
     * 查询家庭中的红外设备列表
     *
     * @param gatewayDO
     * @return
     */
    List<InfraredDeviceRepDTO> getInfraredDeviceListByGatewayId(GatewayDO gatewayDO);

    /**
     * 新增红外设备
     *
     * @param infraredDevice
     * @return
     */
    InfraredDeviceDO addInfraredDevice(InfraredDeviceDO infraredDevice);

    /**
     * 修改红外设备信息
     *
     * @param infraredDevice
     * @return
     */
    InfraredDeviceDO updateInfraredDeviceById(InfraredDeviceDO infraredDevice);

    /**
     * 根据主键删除,并判断是否是小黑豆设备
     *
     * @param id
     * @return
     */
    void deleteInfraredDeviceById(String id);


    /**
     * 获取设备列表
     *
     * @param deviceId
     * @return
     */
    List<InfraredDeviceDO> getAirDeviceListByDeviceId(String deviceId);

    /**
     * 中央空调控制器新版本添加
     * 0fad0207
     *
     * @param deviceMac
     * @param gatewayMac
     * @param map
     */
    void addAcCenter(String deviceMac, String gatewayMac, Map<String, Object> map);

    /**
     * 修改单台空调信息
     *
     * @param deviceMac
     * @param gatewayMac
     * @param map
     */
    void updateAc(String deviceMac, String gatewayMac, Map<String, Object> map);

}
